﻿namespace Minotaur.App.Domains.Model.SystemLog
{
    [SugarTable("SystemRequestLog")]
    public class SystemRequestLog : EntityBase
    {
        /// <summary>
        /// 主键ID
        /// </summary>
        [SugarColumn(ColumnName = "autoid", IsIdentity = true, IsPrimaryKey = true)]
        public virtual long AutoId { get; set; }

        /// <summary>
        /// 账号ID
        /// </summary>
        [SugarColumn(ColumnName = "userid")]
        public virtual long UserId { get; set; }

        /// <summary>
        /// 账号
        /// </summary>
        [SugarColumn(ColumnName = "account")]
        public virtual string? Account { get; set; }

        /// <summary>
        /// 租户名称
        /// </summary>
        [SugarColumn(ColumnName = "tcnname")]
        public virtual string? TCnname { get; set; }

        /// <summary>
        /// 租户联系方式
        /// </summary>
        [SugarColumn(ColumnName = "phone")]
        public virtual string? Phone { get; set; }

        /// <summary>
        /// 租户编码
        /// </summary>
        [SugarColumn(ColumnName = "code")]
        public virtual string? Code { get; set; }

        /// <summary>
        /// 日志类型
        /// </summary>
        [SugarColumn(ColumnName = "logtype")]
        public virtual int LogType { get; set; }

        /// <summary>
        /// 请求地址
        /// </summary>
        [SugarColumn(ColumnName = "ipaddress")]
        public virtual string? IPAddress { get; set; }

        /// <summary>
        /// 接口服务器ip地址
        /// </summary>
        [SugarColumn(ColumnName = "serveraddress")]
        public virtual string? ServerAddress { get; set; }

        /// <summary>
        /// 语言环境
        /// </summary>
        [SugarColumn(ColumnName = "language")]
        public virtual int Language { get; set; }

        /// <summary>
        /// 员工基本信息ID
        /// </summary>
        [SugarColumn(ColumnName = "empid")]
        public virtual long? EmpId { get; set; }

        /// <summary>
        /// 员工中文名
        /// </summary>
        [SugarColumn(ColumnName = "cnname")]
        public virtual string? CNName { get; set; }

        /// <summary>
        /// 员工英文名
        /// </summary>
        [SugarColumn(ColumnName = "enname")]
        public virtual string? ENName { get; set; }
        /// <summary>
        /// 员工编码
        /// </summary>
        [SugarColumn(ColumnName = "empcode")]
        public virtual string? EmpCode { get; set; }

        /// <summary>
        /// 组织ID
        /// </summary>
        [SugarColumn(ColumnName = "orgid")]
        public virtual long? OrgId { get; set; }

        /// <summary>
        /// 职位ID
        /// </summary>
        [SugarColumn(ColumnName = "positionid")]
        public virtual long? PositionId { get; set; }
        /// <summary>
        /// 组织名称
        /// </summary>
        [SugarColumn(ColumnName = "orgname")]
        public virtual string? OrgName { get; set; }

        /// <summary>
        /// 职位名称
        /// </summary>
        [SugarColumn(ColumnName = "positionname")]
        public virtual string? PositionName { get; set; }

        /// <summary>
        /// 执行时间
        /// </summary>
        [SugarColumn(ColumnName = "executedate")]
        public virtual DateTime? ExecuteDate { get; set; }

        /// <summary>
        /// 执行类
        /// </summary>
        [SugarColumn(ColumnName = "executeclass")]
        public virtual string? ExecuteClass { get; set; }

        /// <summary>
        /// 执行方法
        /// </summary>
        [SugarColumn(ColumnName = "executemethod")]
        public virtual string? ExecuteMethod { get; set; }

        /// <summary>
        /// 执行参数
        /// </summary>
        [SugarColumn(ColumnName = "executeparameter")]
        public virtual string? ExecuteParameter { get; set; }

        /// <summary>
        /// 执行结果
        /// </summary>
        [SugarColumn(ColumnName = "executeresult")]
        public virtual string? ExecuteResult { get; set; }

        /// <summary>
        /// 完成时间
        /// </summary>
        [SugarColumn(ColumnName = "executecompletiontime")]
        public virtual DateTime? ExecuteCompletiontime { get; set; }

        /// <summary>
        /// 接口地址
        /// </summary>
        [SugarColumn(ColumnName = "interfacepath")]
        public virtual string? InterfacePath { get; set; }

        /// <summary>
        /// 客户端地址
        /// </summary>
        [SugarColumn(ColumnName = "clientpath")]
        public virtual string? ClientPath { get; set; }

        /// <summary>
        /// 客户端类型
        /// </summary>
        [SugarColumn(ColumnName = "useragent")]
        public virtual string? UserAgent { get; set; }

        /// <summary>
        /// 请求参数
        /// </summary>
        [SugarColumn(ColumnName = "requestparamtetr")]
        public virtual string? RequestParamtetr { get; set; }
    }
}
